Many web-based services include client-side components that need to be downloaded and installed on the computer systems that are to access the web-based services. Although browsers, such as Microsoft's Internet Explorer, can execute web pages that provide sophisticated user interfaces to web-based services, some web-based services, such as conferencing services, choose to provide their user interface through client-side components. Unless a client-side component is preinstalled on a computer system, it needs to be downloaded when a user seeks to use a web-based service. To increase the chances of a more positive user experience, it would be desirable if client-side components could be downloaded, installed, and launched with minimal user interaction.
Browsers support the execution of controls to extend the browser capability beyond displaying web pages. Internet Explorer uses ActiveX controls, and Mozilla browsers use plug-ins to achieve the same effect as controls. A browser can run preinstalled controls or can download and then run controls. Because programmers can develop malicious controls, a browser typically warns a user before a control is downloaded and seeks the user's permission to download the control. If the user is concerned about security, then the user can refuse permission to download the control. The process of warning the user when a control is about to be downloaded, however, means that the user needs to be involved when a control is downloaded.
Typically, when a client-side component is to be downloaded, a web page prompts a user to select a link. When the link is selected, then the web page invokes a download/installation component to download and install the client-side component. The download/installation component prompts the user to make various decisions to complete the download and installation. After the installation is complete, the user can then leave the browser and run the executable for the client-side component.
Although a user may find it less than convenient to install the new client-side component, the user may be willing to do so to gain access to the web-based service. Providers of web-based services, however, may want to update their client-side components frequently so that users have the most current technology. Unfortunately, the process of installing a new version of a client-side component can be even more cumbersome than the installation of the original version of the client-side component.
It would be desirable to have a technique for downloading installable components via a browser in a way that minimizes user interactions needed to download, install, and run the installable components without compromising user security.